home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / include / elements / CEGUIScrollbarProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-01-18  |  4.5 KB  |  172 lines

  1. /************************************************************************
  2.     filename:     CEGUIScrollbarProperties.h
  3.     created:    10/7/2004
  4.     author:        Paul D Turner
  5.     
  6.     purpose:    Interface for Scrollbar properties
  7. *************************************************************************/
  8. /*************************************************************************
  9.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  10.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  11.  
  12.     This library is free software; you can redistribute it and/or
  13.     modify it under the terms of the GNU Lesser General Public
  14.     License as published by the Free Software Foundation; either
  15.     version 2.1 of the License, or (at your option) any later version.
  16.  
  17.     This library is distributed in the hope that it will be useful,
  18.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.     Lesser General Public License for more details.
  21.  
  22.     You should have received a copy of the GNU Lesser General Public
  23.     License along with this library; if not, write to the Free Software
  24.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  25. *************************************************************************/
  26. #ifndef _CEGUIScrollbarProperties_h_
  27. #define _CEGUIScrollbarProperties_h_
  28.  
  29. #include "CEGUIProperty.h"
  30.  
  31.  
  32. // Start of CEGUI namespace section
  33. namespace CEGUI
  34. {
  35.  
  36. // Start of ScrollbarProperties namespace section
  37. /*!
  38. \brief
  39.     Namespace containing all classes that make up the properties interface for the Scrollbar class
  40. */
  41. namespace ScrollbarProperties
  42. {
  43. /*!
  44. \brief
  45.     Property to access the document size for the Scrollbar.
  46.  
  47.     \par Usage:
  48.         - Name: DocumentSize
  49.         - Format: "[float]".
  50.  
  51.     \par Where:
  52.         - [float] specifies the size of the document being scrolled (as defined by the client code).
  53. */
  54. class DocumentSize : public Property
  55. {
  56. public:
  57.     DocumentSize() : Property(
  58.         "DocumentSize",
  59.         "Property to get/set the document size for the Scrollbar.  Value is a float.",
  60.         "1.000000")
  61.     {}
  62.  
  63.     String    get(const PropertyReceiver* receiver) const;
  64.     void    set(PropertyReceiver* receiver, const String& value);
  65. };
  66.  
  67.  
  68. /*!
  69. \brief
  70.     Property to access the page size for the Scrollbar.
  71.  
  72.     \par Usage:
  73.         - Name: PageSize
  74.         - Format: "[float]".
  75.  
  76.     \par Where:
  77.         - [float] specifies the size of the visible page (as defined by the client code).
  78. */
  79. class PageSize : public Property
  80. {
  81. public:
  82.     PageSize() : Property(
  83.         "PageSize",
  84.         "Property to get/set the page size for the Scrollbar.  Value is a float.",
  85.         "0.000000")
  86.     {}
  87.  
  88.     String    get(const PropertyReceiver* receiver) const;
  89.     void    set(PropertyReceiver* receiver, const String& value);
  90. };
  91.  
  92.  
  93. /*!
  94. \brief
  95.     Property to access the step size for the Scrollbar.
  96.  
  97.     \par Usage:
  98.         - Name: StepSize
  99.         - Format: "[float]".
  100.  
  101.     \par Where:
  102.         - [float] specifies the size of the increase/decrease button step (as defined by the client code).
  103. */
  104. class StepSize : public Property
  105. {
  106. public:
  107.     StepSize() : Property(
  108.         "StepSize",
  109.         "Property to get/set the step size for the Scrollbar.  Value is a float.",
  110.         "1.000000")
  111.     {}
  112.  
  113.     String    get(const PropertyReceiver* receiver) const;
  114.     void    set(PropertyReceiver* receiver, const String& value);
  115. };
  116.  
  117.  
  118. /*!
  119. \brief
  120.     Property to access the overlap size for the Scrollbar.
  121.  
  122.     \par Usage:
  123.         - Name: OverlapSize
  124.         - Format: "[float]".
  125.  
  126.     \par Where:
  127.         - [float] specifies the size of the per-page overlap (as defined by the client code).
  128. */
  129. class OverlapSize : public Property
  130. {
  131. public:
  132.     OverlapSize() : Property(
  133.         "OverlapSize",
  134.         "Property to get/set the overlap size for the Scrollbar.  Value is a float.",
  135.         "0.000000")
  136.     {}
  137.  
  138.     String    get(const PropertyReceiver* receiver) const;
  139.     void    set(PropertyReceiver* receiver, const String& value);
  140. };
  141.  
  142. /*!
  143. \brief
  144.     Property to access the scroll position of the Scrollbar.
  145.  
  146.     \par Usage:
  147.         - Name: ScrollPosition
  148.         - Format: "[float]".
  149.  
  150.     \par Where:
  151.         - [float] specifies the current scroll position / value of the Scrollbar.
  152. */
  153. class ScrollPosition : public Property
  154. {
  155. public:
  156.     ScrollPosition() : Property(
  157.         "ScrollPosition",
  158.         "Property to get/set the scroll position of the Scrollbar.  Value is a float.",
  159.         "0.000000")
  160.     {}
  161.  
  162.     String    get(const PropertyReceiver* receiver) const;
  163.     void    set(PropertyReceiver* receiver, const String& value);
  164. };
  165.  
  166. } // End of  ScrollbarProperties namespace section
  167.  
  168. } // End of  CEGUI namespace section
  169.  
  170.  
  171. #endif    // end of guard _CEGUIScrollbarProperties_h_
  172.